#各种单元测试
import cv2
from matplotlib import pyplot as plt
import custom
pic=cv2.imread("pic/xiong.jpg", 0)
# pic1=cv2.imread("pic/leg.jpg", 0)
custom.showPicture("ori",pic)
# hist = cv2.calcHist([pic],[0],None,[256],[0,256])
# plt.plot(hist)
# plt.show()

# custom.showPicture("0",pic)
# # 高斯金字塔
# s=custom.laplian(pic,3)
# custom.showPicture("0",s[0])
# custom.showPicture("1",s[1])
# custom.showPicture("2",s[2])
# cv2.waitKey(0)

#log算子
# src：输入的图像
# ddepth：图像的深度。-1表示采用与原图像相同的深度，目标图像的深度必须大于等于原图像的深度。
# （以下参数均可省略）
# ksize：算子的大小，即卷积核的大小，必须为1,3,5,7，默认为3。
# scale：缩放导数的比例常数，默认情况为没有伸缩系数。
# borderType：图像边界的模式，默认cv2.BORDER_DEFAULT。
# gaussPic=cv2.GaussianBlur(pic,(3,3),0)
# logPic=cv2.Laplacian(gaussPic,-1,3)
# custom.showPicture("log",logPic)
# custom.showPicture("gauss",gaussPic)

# # 金字塔与算子结合
# lapJin=custom.laplian(pic,5)


#log算子边缘检测
# logs=custom.logS(pic,3)
# custom.showPicture("1",logs[0])
# custom.showPicture("2",logs[1])
# custom.showPicture("3",logs[2])

#双边滤波器
# pic=custom.sp_noise(pic,.005)
# custom.showPicture('noise',pic)
custom.showPicture(1,cv2.bilateralFilter(pic,6,50,50))

cv2.waitKey(0)
